1. Technical Field
The disclosure and claims herein generally relate to hybrid computer environments such as those with a multi-node computer system, and more specifically relate to optimizing between the power consumption and performance of a software module executing in a hybrid computer environment with a multi-node computer system.
2. Background Art
Supercomputers and other multi-node computer systems continue to be developed to tackle sophisticated computing jobs. One type of multi-node computer system is a massively parallel computer system. A family of such massively parallel computers is being developed by International Business Machines Corporation (IBM) under the name Blue Gene. The Blue Gene/L system is a high density, scalable system in which the current maximum number of compute nodes is 65,536. The Blue Gene/L node consists of a single ASIC (application specific integrated circuit) with 2 CPUs and memory. The full computer is housed in 64 racks or cabinets with 32 node boards in each rack.
Computer systems such as Blue Gene have a large number of nodes, each with its own processor and local memory. The nodes are connected with several communication networks. One communication network connects the nodes in a logical tree network. In the logical tree network, the Nodes are connected to an input-output (I/O) node at the top of the tree. In Blue Gene, there are 2 compute nodes per node card with 2 processors each. A node board holds 16 node cards and each rack holds 32 node boards. A node board has slots to hold 2 I/O cards that each have 2 I/O nodes.
Applications coded for massively parallel systems are sometimes ported to a variety of platforms. Entities executing these applications may have a large computer center with several of the large platforms available. Front-end nodes on the large platforms compile and launch jobs. In some applications, a portion of the application is run on the front-end node and then a computationally expensive region of the code is offloaded to a massively parallel computer platform such as a Blue Gene system. In the prior art, application hooks identifying the computationally expensive region automatically offload the computationally expensive module to the Blue Gene system. In some cases an application may see a huge performance improvement based on the architecture of the system executing the application. For example, code that makes strong use of Blue Gene architecture may provide a large jump in performance compared to the code being run on other systems. However, the Applicants herein have found that offloading the application to be processed on a multi-node computer system may result in a less than optimum use of power.
Without an efficient way to offload applications between platforms in a hybrid computer system environment, hybrid computer systems will continue to suffer from reduced performance and increased power consumptions by the computer system.